namespace RadioTimer.Services
{
    /// <summary>
    /// 文本转语音服务接口
    /// 提供跨平台的文本转语音功能，支持音量控制和可用性检查
    /// 使用MAUI Essentials的TextToSpeech API实现
    /// </summary>
    public interface ITextToSpeechService
    {
        /// <summary>
        /// 异步播放文本语音
        /// </summary>
        /// <param name="text">要播放的文本内容</param>
        /// <param name="volume">播放音量，范围0.0-1.0，默认为1.0</param>
        /// <returns>异步任务</returns>
        Task SpeakAsync(string text, double volume = 1.0);
        
        /// <summary>
        /// 异步检查文本转语音功能是否可用
        /// </summary>
        /// <returns>返回true表示功能可用，false表示不可用</returns>
        Task<bool> IsAvailableAsync();
        
        /// <summary>
        /// 设置默认播放音量
        /// </summary>
        /// <param name="volume">音量值，范围0.0-1.0</param>
        void SetVolume(double volume);
    }
}